#include <bits/stdc++.h>
using namespace std;
class bigint{
public:
	int a[3000];
	int size;
	bigint(int m){
		memset(a,0,sizeof(int)*3000);
		a[0]=m;
		size=1;
		return;
	}
	bigint(void){
		memset(a,0,sizeof(int)*3000);
		size=1;
		return;
	}

	bigint operator=(bigint b){
		for(int i=0;i<b.size;i++){
			this->a[i]=b.a[i];
		}
		this->size=b.size;
		return *this;
	}

	bigint operator+(bigint b){
		bigint temp;
		int tempsize=this->size;
		if(b.size>this->size)tempsize=b.size;
		for(int i=0;i<tempsize;i++){
			temp.a[i]+=this->a[i]+b.a[i];
			if(temp.a[i]>=10){
				temp.a[i]-=10;
				temp.a[i+1]+=1;
			}
		}
		temp.size=tempsize;
		if(temp.a[tempsize]!=0)temp.size+=1;
		return temp;
	}
};

void show(bigint & a){
	for(int i=a.size-1;i>=0;--i)
		cout<<a.a[i];
	return;
}
int main(void){
	int n=0;
	bigint a(0);
	bigint b(1);
	bigint c(0);
	cin>>n;
	for(int i=1;i<=n;i++){
		c=a+b;
		a=b;
		b=c;
	}
	int m=c.size;
	show(c);
	return 0;
}